package com.eastfair.venueservice.dto;

import java.time.LocalDateTime;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.eastfair.core.base.entity.Entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.eastfair.venueservice.enumeration.ExhibitionCompanyCompanySourceEnum;
import com.eastfair.venueservice.enumeration.ExhibitionCompanyCompanyTypeEnum;
import java.io.Serializable;

/**
 * <p>
 * 实体类
 * 展会相关企业
 * </p>
 *
 * @author dq
 * @since 2022-10-26
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "ExhibitionCompanyPageQuery", description = "展会相关企业")
public class ExhibitionCompanyPageQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 是否启用（确认状态）：1是 已确认；0否 未确认
     */
    @ApiModelProperty(value = "是否启用（确认状态）：1是 已确认；0否 未确认")
    private Integer isEnabled;
    /**
     * 是否删除：1是；0否
     */
    @ApiModelProperty(value = "是否删除：1是；0否")
    private Integer isDeleted;
    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    private Long projectId;
    /**
     * 子系统id
     */
    @ApiModelProperty(value = "子系统id")
    private Long subsystemId;
    /**
     * 租户id
     */
    @ApiModelProperty(value = "租户id")
    private Long tenantId;
    /**
     * 企业编码
     */
    @ApiModelProperty(value = "企业编码")
    private String companyCode;
    /**
     * 企业名称
     */
    @ApiModelProperty(value = "企业名称")
    private String companyName;
    /**
     * 企业类型 #{BUILD_SERVICE_PROVIDER:搭建商;MAIN_TRANSPORT_SERVICE_PROVIDER:主运商;HOME_SERVICE_PROVIDER:主场商;MATCHING_SERVICE_PROVIDER:配套商;SPONSOR:主办方;EXHIBITOR:参展商;OTHERS:其他}
     */
    @ApiModelProperty(value = "企业类型 #{BUILD_SERVICE_PROVIDER:搭建商;MAIN_TRANSPORT_SERVICE_PROVIDER:主运商;HOME_SERVICE_PROVIDER:主场商;MATCHING_SERVICE_PROVIDER:配套商;SPONSOR:主办方;EXHIBITOR:参展商;OTHERS:其他}")
    private ExhibitionCompanyCompanyTypeEnum companyType;
    /**
     * 公司来源 #{SYSTEM_OPERATE:系统维护;MANUAL_OPERATE:手动录入}
     */
    @ApiModelProperty(value = "公司来源 #{SYSTEM_OPERATE:系统维护;MANUAL_OPERATE:手动录入}")
    private ExhibitionCompanyCompanySourceEnum companySource;
    /**
     * 展会ID
     */
    @ApiModelProperty(value = "展会ID")
    private Long exhibitionManageId;
    /**
     * 展会名称
     */
    @ApiModelProperty(value = "展会名称")
    private String exhibitionManageName;
    /**
     * 是否是系统记录的服务商(0:否;1:是)
     */
    @ApiModelProperty(value = "是否是系统记录的服务商(0:否;1:是)")
    private Integer isServiceProvider;
    /**
     * 系统记录的服务商ID
     */
    @ApiModelProperty(value = "系统记录的服务商ID")
    private Long serviceProviderId;
    /**
     * 系统记录的服务商名称
     */
    @ApiModelProperty(value = "系统记录的服务商名称")
    private String serviceProviderName;
    /**
     * 是否是系统维护的参展商(0否;1:是)
     */
    @ApiModelProperty(value = "是否是系统维护的参展商(0否;1:是)")
    private Integer isExhibitor;
    /**
     * 展商ID
     */
    @ApiModelProperty(value = "展商ID")
    private Long exhibitorId;
    /**
     * 展商名称
     */
    @ApiModelProperty(value = "展商名称")
    private String exhibitorName;
    /**
     * 联系人名称
     */
    @ApiModelProperty(value = "联系人名称")
    private String contact;
    /**
     * 联系方式
     */
    @ApiModelProperty(value = "联系方式")
    private String phone;
    /**
     * 是否拥有展台(0:否;1:是)
     */
    @ApiModelProperty(value = "是否拥有展台(0:否;1:是)")
    private Integer hasSite;
    /**
     * 展台类型
     */
    @ApiModelProperty(value = "展台类型")
    private String siteType;
    /**
     * 展位号
     */
    @ApiModelProperty(value = "展位号")
    private String siteName;
    /**
     * 展位面积
     */
    @ApiModelProperty(value = "展位面积")
    private BigDecimal siteArea;
    /**
     * 展厅编码
     */
    @ApiModelProperty(value = "展厅编码")
    private String spaceCode;
    /**
     * 展厅号
     */
    @ApiModelProperty(value = "展厅号")
    private String spaceName;

}
